package com.xyazm.fulfill.mapstruct;


import com.xyazm.fulfill.domain.entity.OrderFulfillDO;
import com.xyazm.fulfill.domain.entity.OrderFulfillItemDO;
import com.xyazm.fulfill.domain.param.TriggerFulFillItemParam;
import com.xyazm.fulfill.domain.param.TriggerFulFillParam;
import com.xyazm.tms.domain.param.SendOutParam;
import com.xyazm.wms.domain.param.PickGoodsParam;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 履约服务
 * @author xuyou
 * 2022-08-16 22:32
*/
@Mapper
public interface FulfillApiMapstruct {

    FulfillApiMapstruct INSTANCE = Mappers.getMapper(FulfillApiMapstruct.class);

    OrderFulfillDO convertOrderFulfillDO(TriggerFulFillParam param);

    List<OrderFulfillItemDO> convertOrderFulfillItemDOList(List<TriggerFulFillItemParam> params);

    SendOutParam convertSendOutParam(OrderFulfillDO param);

    List<SendOutParam.OrderItemParam> convertSendOutOrderItemParamList(List<OrderFulfillItemDO> params);

    PickGoodsParam convertPickGoodsParam(OrderFulfillDO param);

    List<PickGoodsParam.OrderItemParam> convertPickGoodsOrderItemParamList(List<OrderFulfillItemDO> params);

    OrderFulfillItemDO convertOrderFulfillItemDO(TriggerFulFillItemParam param);
}
